Blog search

Friday Facts #47 - CRC fun

Posted by Tomas on 2014-08-15

Hello FFF readers, another week, another set of news. Kovarex took some more vacation days for a visit to Slovakia where his relatives live. He will come back on Sunday just in time to switch places with me. I will be off for the whole next week, playing Go, hiking and relaxing in the Czech Beskydy mountains. Another fun fact is that the most active forum user ssilk took some vacation as well and he actually came to Prague. I will go meet with him tomorrow.

Friday Facts #342 - The new old tutorial

Posted by Abregado on 2020-04-10

As stated in previous FFF's we will be making some changes to the demo and tutorial content in the game. I wanted to clarify exactly what is being removed and what it is being replaced with, as this content is almost ready for release. If you would like to catch up on the topic, you can read Kovarex's piece in FFF-327, but I will also summarize it here. Right now the NPE/Introduction is the scenario that is used as the demo (0.17) and as the tutorial in the full game (0.17 stable, 0.18 experimental). If anyone has played the tutorial in the last 12 months, this is probably what you have played. The First steps campaign was a series of three levels which used to make up the demo and tutorial in 0.16 and earlier. They were introduced in 2014. We have been working on revamping these levels to bring them up to 0.18 standards. Very soon the NPE/Introduction will be removed and the First Steps campaign will be reinstated, both as the full game tutorial and the demo.

Friday Facts #60 - Tests all around

Posted by Tomas on 2014-11-14

Hey guys, here comes the weekly dose of Factorio-world information for you. We have crafted it just before we leave for a gdsession warm-up party. Gdsession is quite a big game development conference here in Prague. This is the first year we are going to participate. And actually tonight we will have a short (10 minutes) talk about what we do (well, about Factorio obviously).

Friday Facts #15

Posted by Tomas on 2014-01-03

Happy new year to everyone! We have spent the New Year's Eve with friends in our appartment / office on a last-minute improvized party. The entertainment was provided by the usual elements - food, drinks, chatting and board games. The traditional fireworks all over the Prague kickstarted the 2014, which is going to be a crucial year for Factorio. The main points from the 2014 battle plan are: Get on the Steam. Get the multiplayer done. Get some quality holidays:). After some relaxed time during the Christmas we are back to full speed development. There will be a stable release of the 0.8 in the beginning of the next week. The periods necessary for release stabilization has been getting longer and longer. That was one of the reasons we decided to dedicate more time in the future to the automated testing. You can read more on this topic in our latest random ramblings. Past week has been spent by working on the new features for the 0.9. Mainly the oil industry and blueprints. Both are still in the process of development so I will go into the functional details later, after they are more or less stabilized. You can also read our plans regarding the functionality in that random ramblings post. One thing is clear already. The 0.9 is a very ambitious release and if all goes well it will be one of our most content rich releases (if not the most content rich). After the 0.9 we plan to start working on the multiplayer which might be a long period with little other updates. Therefore we plan to get a lot done before that. In the meantime, Albert has finished with a first set of doo-dads. Below is a composition with some new shipwrecks. Actually the current shipwreck sprite in the first level was cut (and adjusted) from one of our theme art pictures (can you find it:)?). It is time for this one to be replaced. There is still much more that could be (and will be) done for the doo-dads, but now we need to move on to making graphics for the new "oil related" machines ... Comment thread is not hiding anywhere. It is right there on our forum.

Friday Facts #4

Posted by Tomas on 2013-10-18

Hello, another Friday means another Friday update. The main theme of the week has been again the bug fixing. The result of our efforts is the 0.7.2 release which came out yesterday. There were more than 25 bugs fixed in the release. As the experience have shown, releases often take 3-4 iterations to stabilize. Therefore we still sort of expect one more release to stabilize the 0.7:) Along with the coding, the works continue on the new terrain. Albert has finished with the dry dirt and he is now experimenting with patterns for other kinds of terrains like grass or snow. We are aiming for at least two "biomes" combining similar kinds of terrains. The terrain is quite a different task from modelling the machines or the enemies. Therefore there is a lot of researching and experiments involved. Kuba has provided a big help to Albert by generating various noises and tileable patterns for him to work with. There is some good news regarding our team as well. Albert has been staying with us in our apartment (which became an improvized office) for the past month and the half. His presence here in Prague has been really beneficial to our progress on the visuals of the game. Things are moving much faster than before. So the news is that this week Albert rented an apartment for himself and his girlfriend here in Prague. It is situated in the middle of the city close to the historical center. It looks really nice and cosy. They might stay for the whole winter:) After the 0.7 release we got some complaints that the game is using too much video memory. Some players couldn't even load the game for this reason. The 0.7.2 fixes this by providing the low resolution mode (in the graphics settings, needs a restart). In this mode, some of the sprites are scaled down before loading into the atlas. The resulting quality is lower, but the game will fit within 256MB video memory. You can compare how the game looks in low resolution (left) and normal mode below. The difference is naturally most visible when you zoom in. Enabling the multisampling will improve the quality and make the low resolution mode look real close to the regular one. Last but not least, we have started with the new trailer. So far we put together some basic ideas for the scenes and started preparing the map where the trailer will be created. Actually the trailer will be a regular Factorio scenario so after it is finished anyone can load it and "replay" it directly in the game (except for the music though). As usual you can post comments regarding this post at our forum.

Friday Facts #5

Posted by Tomas on 2013-10-25

Hi there, fifth anniversary for the Friday Facts is here. Nothing big, but we got into the mood of doing these updates regularly and so far it works fine. The release clock has stopped on 0.7.4. This looks pretty stable though there were still some minor annoyances and rare crashes. So the show goes on and there will be a 0.7.5. That will make the 0.7 a release with most bugfix subreleases so far. Actually Kovarex took it as sort of a challenge to fix all the bugs that are reported on our forum (which works as a kind of bug tracker for us). Now there are last four. Actually this led us to a rather interesting conversation about the bugs and our approach towards them. We have always took the stance of fixing bugs first, adding features later. This is contrary to some very popular and successful indie games out there. So we naturally wondered whether it makes sense for us to keep doing this or whether we should try to move forward faster and build more features (there is plenty on the list). The conclusion was that it is important to find a balance. Crashes and bugs which prevent someone from playing or are annoying are not tolerable and must be fixed immediately. However we will be spending less time on tiny little bugs. Things like "if you are in the god mode and select a gun turret and pause the game and open the menu, then the description of the gun turret is broken". Obviously a made up example to demonstrate the point:). We are really grateful that people are reporting even the smallest bugs, it's just that we think we need to draw a line and don't be afraid to say "this is tolerable now and we will fix it later". This will allow us to spend more time with the new features and content. Which is what we really need at the moment. On the side note the work on the trailer is in the full speed. As mentioned before we have decided to go for a not so traditional approach without scene cuts. So the trailer will basically present an existing factory by sliding the camera from one place to another. The factory is done. Actually I took the factory from one of my freeplay games and adjusted it to fit the trailer's needs. Now we work on the script logic behind it. The script controls everything. Movement around the factory, speed, zoom, dynamic adjustments to particular machines, timing of actions, etc. This is also positive because it led us to extending the Lua API - for instance we have added routines to control the trains. These changes will be available in the 0.8 together with the trailer map and the script. There is still a lot of work ahead - finishing the script, balancing the speed and flow, polishing. After all this is done we will just press a button and capture the trailer from the screen. Lastly we will need a background music and sound. We haven't arranged anything yet, but Albert has some good contacts among sound professionals who could do this for us. There probably will be some spoiler discussions regarding the trailer on our forums soon. For the impatient there is a screen shot of a possible first trailer scene below (still needs some polishing - namely new terrain and additional decorative objects). There is a link on our forum to this blog post so feel free to share your comments. To finish with the fun fact there is now over 7000 commits in the Factorio project repository. And counting.

Friday Facts #30 - Full time on MP

Posted by Tomas on 2014-04-18

Hello, after a long long time the 0.9.8 was marked stable this week. There were no big ovations or cheering, just a quite "stable sticker exchange":) The bugs forum is not empty though, as someone would expect. Quite a few small issues remain, but for the sake of moving on we decided to put them to our backlog and mark the release as stable. However if some game crashing or very serious bugs are discovered in 0.9.8, we will make a hotfix. Oh, and the good thing is that we managed to break the streak (for now) of ever increasing number of bugfix releases (the 0.9 had 8 bugfix releases - the same as 0.8). The whole "programming department" has been fully commited to the work on multiplayer for a while now. The task divison for now is following: Michal - fully deterministic simulation. This is an absolute must, because all multiplayer peers will calculate the simulation themselves and only the player input (we call it input actions) will be exchanged over the network. Nice effect of having deterministic simulation will be having functional replays again (hmmm not really again because there have always been some bugs in them even when they were "working":)). Kuba - lower level network layer. This includes the connection management, packets management (we will be using UDP for all the communication) and eventually things like NAT punching to allow connections for peers behind NAT (few people have public IP address). Tomas - synchronization layer. This logic will take care of keeping the simulation state same for all the players in the game. This includes queing up the input actions, sending them out in batches (tick closures to other peers), requesting missing tick closures, etc. These things are absolute minimum necessary for our multiplayer implementation. However there is more to be done after this, things like: starting the game (the lobby), mechanism for a player joining already existing game, hiding the latency for the player (most of the time the actions for different players will not collide so we can act as if common actions - like moving the player around - were confirmed immediately) and more (see our battleplan whiteboard in one of the previous friday facts). There is a lot of work ahead, but the good news is that we have finally fully dived into it. We will keep you updated about the progress:) Albert has finished with most of the map trailer tweaks. Today we also did a first test with exporting the trailer using the new screenshot mechanism. We did this on Michal's computer which is way more powerful than mine (it does take a while to export 3600 screenshots). However there was this funky bug that parts of the terrain in the screenshots had strange, kind of inverted, colors. We have spent like half a day looking into this issue. Finally it turned out to be a problem in our custom optimized version of d3d drawing routine (this was happening on windows only). Spending hours in frustration hunting bugs (that are not even visible to the player in the end) happens more often than you would think, so game programming is not just about sitting back, playing video games and calling it "research" (but that is part of the job too:)) Anyway to give you an idea of what was going on you can see a visualization of the problem below. For better effect (and for us to easier analyze the problem) the corrupted regions of the image (here all of the terrain) are drawn with reddish overlay. Any idea for the picture title? Want to cheer us up for the multiplayer work? Or feel like laughing at us for taking so long with the trailer? Go to our forums.

Friday Facts #237 - Rich & interactive text

Posted by kovarex on 2018-04-06

Hello, since 0.16 is stable we can assign more of our effort into the work on 0.17. One of those features planned for that release is the Rich & interactive text. Having more text formatting options was one of the things we wanted for quite some time, and it is finally starting to become reality in the 0.17 branch. The initial motivation was to have more possibilities in the tutorial related texts, but it proved to be useful having it available globally in the game. The current format for any text markup we use is [<type>=<value>], but it might change somehow before 0.17 hits the public. This feature is being developed by wheybags, and it is progressing forward quite steadily.

Friday Facts #116 - Strategy Guide

Posted by Tomas on 2015-12-11

Good evening, after a long long bug fixing period we have declared the 0.12.20 as a stable release. Owing to the great effort of all the developers, the open bugs count at the forums is at unbelievable ... wait for it =) ... 3 items. And one of these will be solved by us dropping support for the OSX Snow Leopard. So unless there are quite a few people who have been holding the bugs reports back (out of pure mercy with us of course=)) the game should be rather stable.

Friday Facts #248 - Not Saturday Facts

Posted by Twinsen, Rseding91 on 2018-06-22

Status report (Twinsen) On Monday June 18th, we marked the last version of 0.16 as stable. There were no major problems, so now we are almost exclusively working on 0.17. Work on 0.17 is progressing well: Regarding the new campaign, we are already internally playing a rough version of the new player experience. We are still trying to figure out the exact and final style and concepts for the improved GUI, but we have some GUI windows implemented in game already, plus many base widgets. We use those to get a feel of what works and what doesn't. The new graphics back-end rewrite is nearing finalization. A closed-beta branch was sent to a few players to test that rendering works correctly across different hardware. The rendering is faster and no major issues were reported so far. But there is still much to do, such as improvements to VRAM usage and many experiments with shaders. Since from the graphics department Albert is working on the GUI and V453000 is working on the new campaign, only Ernestas is left working exclusively on the entity graphics. He is reworking some more entities for high-resolution, so expect some teasers in the future. There are of course other small projects that are ongoing, such as improved pipe-fluid physics and improved map generation, but more on those when they are fleshed out. Oh, and our coding always goes as planned without any problems.